#ifndef __BSP_GPIO__
#define __BSP_GPIO__

#ifdef __cplusplus
extern "C" {
#endif

#include "bsp_config.h"

typedef void (*pbsp_gpio_irq_handler)(uint8_t gpio_value);


#define bsp_gpio_write(port,pin,value)                  HAL_GPIO_WritePin(port,pin,value)
#define bsp_gpio_read(port,pin)                         HAL_GPIO_ReadPin(port,pin)
#define bsp_gpio_toggle(port,pin)                       HAL_GPIO_TogglePin(port,pin)

int8_t bsp_gpio_irq_set(void* port,uint16_t pin,uint8_t enable);
int8_t bsp_gpio_irq_handler_register(void* port,uint16_t pin,pbsp_gpio_irq_handler handler);

#ifdef __cplusplus
}
#endif

#endif
